#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//int main()
//{
//	int a = 0;
//	int b = 0;
//	int c = 0;
//	int tmp = 0;
//	scanf("%d %d %d", &a, &b, &c);
//	if (a < b)
//	{
//		tmp = a;
//		a = b;
//		b = tmp;
//	}
//	if (a < c)
//	{
//		tmp = a;
//		a = c;
//		c = tmp;
//
//	}
//	if (b < c)
//	{
//		tmp = b;
//		b = c;
//		c = tmp;
//	}
//	printf("%d %d %d", a, b, c);
//	return 0;
//}

//int main()
//{
//	int j = 0;
//	int i = 0;
//	for (i = 101; i <= 200; i+=2)
//	{
//		int k = 0;
//		for (j=2;j<=i-1;j++)
//		{
//			if (i % j == 0)
//				 k = 1;
//			     break;
//		}
//		if (k == 0)
//			printf("%d ", i);
//	}
//	return 0;
//}
//
//int main()
//{
//	int i = 0;
//	for(i=1000;i<=2000;i++)
//		if ((i % 4 == 0 && i % 100 != 0) ||(i%400==0))
//		{
//			printf("%d ", i);
//		}
//		
//	return 0;
//}

//int main()
//{
//	int m = 0;
//	int n = 0;
//	scanf("%d %d", &m,&n);
//	int k = (m < n ? m: n);
//	while (1)
//	{
//		
//		if (m % k == 0 && n % k == 0)
//		{
//			break;
//		}
//		k--;
//	}
//	printf("%d ", k);
//	return 0;
//}


int main()
{
	int m = 0;
	int n = 0;
	int k = 0;
	scanf("%d %d", &m, &n);
	while (k=m%n)
	{
		n = k;
		m = n;
	}
	printf("%d ",n);
	return 0;
}